package com.ruoyi.dangerControl.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 地理位置对象 location
 * 
 * @author lth
 * @date 2023-12-14
 */
public class Location extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private String locationId;

    /** 父节点ID */
    @Excel(name = "父节点ID")
    private String parentId;

    /** 位置编号 */
    @Excel(name = "位置编号")
    private String locationCode;

    /** 地点名称 */
    @Excel(name = "地点名称")
    private String locationName;

    /** 地点名称别名 */
    @Excel(name = "地点名称别名")
    private String locationAlias;

    /** 水平 */
    @Excel(name = "水平")
    private String level;

    /** 经度 */
    @Excel(name = "经度")
    private String longitude;

    /** 纬度 */
    @Excel(name = "纬度")
    private String dimension;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private BigDecimal angle;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private BigDecimal length;

    /** 走向名称 */
    @Excel(name = "走向名称")
    private String towardName;

    /** 范围属性 */
    @Excel(name = "范围属性")
    private String rangeAttribute;

    /** 位置属性 */
    @Excel(name = "位置属性")
    private String locationAttribute;

    /** 位置类型ID */
    @Excel(name = "位置类型ID")
    private String locationTypeId;

    /** 位置类型 */
    @Excel(name = "位置类型")
    private String locationType;

    /** 坐标X */
    @Excel(name = "坐标X")
    private String coordinateX;

    /** 坐标Y */
    @Excel(name = "坐标Y")
    private String coordinateY;

    /** 坐标Z */
    @Excel(name = "坐标Z")
    private String coordinateZ;

    /** NFC标签 */
    @Excel(name = "NFC标签")
    private String labelNfc;

    /** 二维码 */
    @Excel(name = "二维码")
    private String qrCode;

    /** 是否允许子节点 */
    @Excel(name = "是否允许子节点")
    private String childNode;

    /** gis源 */
    @Excel(name = "gis源")
    private String gis;

    /** 所属单位ID */
    @Excel(name = "所属单位ID")
    private String affiliatedUnitId;

    /** 所属单位CODE */
    @Excel(name = "所属单位CODE")
    private String affiliatedUnitCode;

    /** 所属单位 */
    @Excel(name = "所属单位")
    private String affiliatedUnit;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createByName;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createAt;

    /** 更新人 */
    @Excel(name = "更新人")
    private String updateByName;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateAt;

    /** 排序 */
    @Excel(name = "排序")
    private Long sorting;

    /** 版本 */
    @Excel(name = "版本")
    private String version;

    /** 状态, 默认1(1:正常；2:冻结；98:关闭；99:删除)； */
    @Excel(name = "状态, 默认1(1:正常；2:冻结；98:关闭；99:删除)；")
    private String status;

    /** 扩展字段1 */
    @Excel(name = "扩展字段1")
    private String extra1;

    /** 扩展字段2 */
    @Excel(name = "扩展字段2")
    private String extra2;

    /** 扩展字段3 */
    @Excel(name = "扩展字段3")
    private String extra3;

    /** 扩展字段4 */
    @Excel(name = "扩展字段4")
    private String extra4;

    /** 是否为电子围栏,默认0否，1是 */
    @Excel(name = "是否为电子围栏,默认0否，1是")
    private String electronicFence;

    /** 人员限制数量 */
    @Excel(name = "人员限制数量")
    private Long personnelLimit;

    public void setLocationId(String locationId) 
    {
        this.locationId = locationId;
    }

    public String getLocationId() 
    {
        return locationId;
    }
    public void setParentId(String parentId) 
    {
        this.parentId = parentId;
    }

    public String getParentId() 
    {
        return parentId;
    }
    public void setLocationCode(String locationCode) 
    {
        this.locationCode = locationCode;
    }

    public String getLocationCode() 
    {
        return locationCode;
    }
    public void setLocationName(String locationName) 
    {
        this.locationName = locationName;
    }

    public String getLocationName() 
    {
        return locationName;
    }
    public void setLocationAlias(String locationAlias) 
    {
        this.locationAlias = locationAlias;
    }

    public String getLocationAlias() 
    {
        return locationAlias;
    }
    public void setLevel(String level) 
    {
        this.level = level;
    }

    public String getLevel() 
    {
        return level;
    }
    public void setLongitude(String longitude) 
    {
        this.longitude = longitude;
    }

    public String getLongitude() 
    {
        return longitude;
    }
    public void setDimension(String dimension) 
    {
        this.dimension = dimension;
    }

    public String getDimension() 
    {
        return dimension;
    }
    public void setAngle(BigDecimal angle) 
    {
        this.angle = angle;
    }

    public BigDecimal getAngle() 
    {
        return angle;
    }
    public void setLength(BigDecimal length) 
    {
        this.length = length;
    }

    public BigDecimal getLength() 
    {
        return length;
    }
    public void setTowardName(String towardName) 
    {
        this.towardName = towardName;
    }

    public String getTowardName() 
    {
        return towardName;
    }
    public void setRangeAttribute(String rangeAttribute) 
    {
        this.rangeAttribute = rangeAttribute;
    }

    public String getRangeAttribute() 
    {
        return rangeAttribute;
    }
    public void setLocationAttribute(String locationAttribute) 
    {
        this.locationAttribute = locationAttribute;
    }

    public String getLocationAttribute() 
    {
        return locationAttribute;
    }
    public void setLocationTypeId(String locationTypeId) 
    {
        this.locationTypeId = locationTypeId;
    }

    public String getLocationTypeId() 
    {
        return locationTypeId;
    }
    public void setLocationType(String locationType) 
    {
        this.locationType = locationType;
    }

    public String getLocationType() 
    {
        return locationType;
    }
    public void setCoordinateX(String coordinateX) 
    {
        this.coordinateX = coordinateX;
    }

    public String getCoordinateX() 
    {
        return coordinateX;
    }
    public void setCoordinateY(String coordinateY) 
    {
        this.coordinateY = coordinateY;
    }

    public String getCoordinateY() 
    {
        return coordinateY;
    }
    public void setCoordinateZ(String coordinateZ) 
    {
        this.coordinateZ = coordinateZ;
    }

    public String getCoordinateZ() 
    {
        return coordinateZ;
    }
    public void setLabelNfc(String labelNfc) 
    {
        this.labelNfc = labelNfc;
    }

    public String getLabelNfc() 
    {
        return labelNfc;
    }
    public void setQrCode(String qrCode) 
    {
        this.qrCode = qrCode;
    }

    public String getQrCode() 
    {
        return qrCode;
    }
    public void setChildNode(String childNode) 
    {
        this.childNode = childNode;
    }

    public String getChildNode() 
    {
        return childNode;
    }
    public void setGis(String gis) 
    {
        this.gis = gis;
    }

    public String getGis() 
    {
        return gis;
    }
    public void setAffiliatedUnitId(String affiliatedUnitId) 
    {
        this.affiliatedUnitId = affiliatedUnitId;
    }

    public String getAffiliatedUnitId() 
    {
        return affiliatedUnitId;
    }
    public void setAffiliatedUnitCode(String affiliatedUnitCode) 
    {
        this.affiliatedUnitCode = affiliatedUnitCode;
    }

    public String getAffiliatedUnitCode() 
    {
        return affiliatedUnitCode;
    }
    public void setAffiliatedUnit(String affiliatedUnit) 
    {
        this.affiliatedUnit = affiliatedUnit;
    }

    public String getAffiliatedUnit() 
    {
        return affiliatedUnit;
    }
    public void setCreateByName(String createByName) 
    {
        this.createByName = createByName;
    }

    public String getCreateByName() 
    {
        return createByName;
    }
    public void setCreateAt(Date createAt) 
    {
        this.createAt = createAt;
    }

    public Date getCreateAt() 
    {
        return createAt;
    }
    public void setUpdateByName(String updateByName) 
    {
        this.updateByName = updateByName;
    }

    public String getUpdateByName() 
    {
        return updateByName;
    }
    public void setUpdateAt(Date updateAt) 
    {
        this.updateAt = updateAt;
    }

    public Date getUpdateAt() 
    {
        return updateAt;
    }
    public void setSorting(Long sorting) 
    {
        this.sorting = sorting;
    }

    public Long getSorting() 
    {
        return sorting;
    }
    public void setVersion(String version) 
    {
        this.version = version;
    }

    public String getVersion() 
    {
        return version;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setExtra1(String extra1) 
    {
        this.extra1 = extra1;
    }

    public String getExtra1() 
    {
        return extra1;
    }
    public void setExtra2(String extra2) 
    {
        this.extra2 = extra2;
    }

    public String getExtra2() 
    {
        return extra2;
    }
    public void setExtra3(String extra3) 
    {
        this.extra3 = extra3;
    }

    public String getExtra3() 
    {
        return extra3;
    }
    public void setExtra4(String extra4) 
    {
        this.extra4 = extra4;
    }

    public String getExtra4() 
    {
        return extra4;
    }
    public void setElectronicFence(String electronicFence) 
    {
        this.electronicFence = electronicFence;
    }

    public String getElectronicFence() 
    {
        return electronicFence;
    }
    public void setPersonnelLimit(Long personnelLimit) 
    {
        this.personnelLimit = personnelLimit;
    }

    public Long getPersonnelLimit() 
    {
        return personnelLimit;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("locationId", getLocationId())
            .append("parentId", getParentId())
            .append("locationCode", getLocationCode())
            .append("locationName", getLocationName())
            .append("locationAlias", getLocationAlias())
            .append("level", getLevel())
            .append("longitude", getLongitude())
            .append("dimension", getDimension())
            .append("angle", getAngle())
            .append("length", getLength())
            .append("towardName", getTowardName())
            .append("rangeAttribute", getRangeAttribute())
            .append("locationAttribute", getLocationAttribute())
            .append("locationTypeId", getLocationTypeId())
            .append("locationType", getLocationType())
            .append("coordinateX", getCoordinateX())
            .append("coordinateY", getCoordinateY())
            .append("coordinateZ", getCoordinateZ())
            .append("labelNfc", getLabelNfc())
            .append("qrCode", getQrCode())
            .append("childNode", getChildNode())
            .append("gis", getGis())
            .append("affiliatedUnitId", getAffiliatedUnitId())
            .append("affiliatedUnitCode", getAffiliatedUnitCode())
            .append("affiliatedUnit", getAffiliatedUnit())
            .append("createBy", getCreateBy())
            .append("createByName", getCreateByName())
            .append("createAt", getCreateAt())
            .append("updateBy", getUpdateBy())
            .append("updateByName", getUpdateByName())
            .append("updateAt", getUpdateAt())
            .append("sorting", getSorting())
            .append("remark", getRemark())
            .append("version", getVersion())
            .append("status", getStatus())
            .append("extra1", getExtra1())
            .append("extra2", getExtra2())
            .append("extra3", getExtra3())
            .append("extra4", getExtra4())
            .append("electronicFence", getElectronicFence())
            .append("personnelLimit", getPersonnelLimit())
            .toString();
    }
}
